---
title: "Installation Options"
sidebarTitle: "Options"
---

You can configure odigos installation using the following options:

## Ignore Namespaces

Don't show specific uninteresting namespaces in the Odigos UI.

Default values: `kube-system`, `local-path-storage`, `istio-system`, `linkerd`, `kube-node-lease`

Add additional namespaces to ignore with **cli**:
```shell
odigos install --ignore-namespace <namespace1> --ignore-namespace <namespace2>
```

List all namespaces to be ignored with **helm chart**:
```shell
helm install odigos odigos/odigos --set ignoreNamespace=<namespace1>,<namespace2>
```

Any Source objects for the namespace and workloads in the namespace will still be honored.

## Ignore Containers

This option is useful for excluding specific sidecar containers from being instrumentated by odigos. 

Default values: `istio-proxy`

<Tabs>
  <Tab title="Odigos CLI">
     ```shell
     odigos install --ignore-container <container1> --ignore-container <container2>
     ```
  </Tab>
  <Tab title="Helm Chart">
     ```shell
     helm install odigos odigos/odigos --set ignoreContainer=<container1>,<container2>
     ```
  </Tab>  
</Tabs>


## Custom Container Runtime Socket Path
Odigos uses the container runtime socket to query for application environment variables info, and distinguish between those injected by the runtime (via Dockerfile for example) and those defined in Kubernetes manifests.

To perform this analysis, Odiglet requires access to the container runtime’s Unix socket (e.g., `containerd.sock`). However, in certain environments—such as Rancher—the socket may not be located in a default path.

To address this, Odigos provides a configuration option to mount a custom container runtime socket path into the Odiglet. This path can be specified either during installation or afterwards.
### Usage
<Tabs>
  <Tab title="Odigos CLI">
     1. During installation:
     ```shell
     odigos install --container-runtime-socket-path <unix socket path>
     ```
     2. Post installation using [config set command](/cli/odigos_config):
     ```shell
     odigos config set custom-container-runtime-socket-path <unix socket path>
     ```
  </Tab>
  <Tab title="Helm Chart">
     1. During installation:
     ```shell
     helm install odigos odigos/odigos --set odiglet.customContainerRuntimeSocketPath=<unix socket path>
     ```
  </Tab>  
</Tabs>


## OpenShift Installation

Installing on OpenShift requires additional settings that can be
configured based on your installation mode:

<Tabs>
  <Tab title="Odigos CLI">
       Run the Odigos CLI with the `--openshift` flag:

       ```shell
       odigos install --openshift
       ```
  </Tab>
  <Tab title="Helm Chart">
       Set `openshift.enabled=true` in `Values.yaml`:

       ```yaml
       openshift
         enabled: true
       ```
  </Tab>
  <Tab title="Operator">
       In the OpenShift console, navigate to **Operators** > **OperatorHub** and search for **Odigos**:

       <Frame>
        <img src="/images/operator/operator-2.png" />
       </Frame>

       Click **Install**:

       <Frame>
        <img src="/images/operator/operator-3.png" />
       </Frame>

       Choose a namespace to install the Operator in (this will be the same namespace that Odigos is installed in) and click **Install**:

       <Frame>
        <img src="/images/operator/operator-4.png" />
       </Frame>

       When installation is complete, click **View Operator**:

       <Frame>
        <img src="/images/operator/operator-5.png" />
       </Frame>

       Click **Create Instance** to create an `Odigos` custom resource:

       <Frame>
        <img src="/images/operator/operator-6.png" />
       </Frame>

       If you have an Enterprise Token, fill in the **On Prem Token** field with your Enterprise Token.  Otherwise leave it blank to use Odigos OpenSource.

       <Frame>
        <img src="/images/operator/operator-7.png" />
       </Frame>

       Scroll down and click **Create**:

       <Frame>
        <img src="/images/operator/operator-8.png" />
       </Frame>

       Confirm that the Custom Resource has reached state `OdigosInstalled`:

       <Frame>
        <img src="/images/operator/operator-9.png" />
       </Frame>
  </Tab>
</Tabs>

OpenShift installation does the following:

* Uses [Red Hat certified component container images](https://odigos.io/blog/openshift-certified)
* Configures required SELinux permissions for pods to access auto-instrumentation agents on RHEL nodes
* Configures RBAC permissions for Odigos components required by default in OpenShift clusters

By default, the `--openshift` flag will pull Odigos component images
from `registry.connect.redhat.com/odigos`. These images are based on
[Red Hat's Universal Base Image
9](https://catalog.redhat.com/software/base-images) and denoted with
the `-ubi9` suffix. These images are also hosted on the Odigos
DockerHub registry, which you can deploy by setting `--openshift` with
`--image-prefix docker.io/keyval`.

### Exposing the Odigos UI via OpenShift Routes

To access the Odigos UI in OpenShift, use either the standard `odigos
ui` command or create a `Route` that exposes the `ui` service on your
cluster's external address. For example:

```
oc expose service ui -n odigos-system
```

Then get the external address for the Route with `oc get routes ui -n
odigos-system`.

**Note:** If you're deploying Odigos on OpenShift, you may need to set the route's TLS termination to Edge to load it in your browser. 
you will need to modify the YAML of the oc route with `spec.tls.termination: edge`

Check the OpenShift documentation or run `oc expose -h` for more
information on configuring OpenShift routes according to your
cluster's requirements.
